How to Unit Test HtmlHelper similar to using(Html.BeginForm()){ }
Posted
by DaveDev
on Stack Overflow
See other posts from Stack Overflow
or by DaveDev
Published on 2010-03-21T00:37:52Z
Indexed on
2010/03/21
0:41 UTC
Read the original article
Hit count: 807
Can somebody please suggest how I could write a Unit Test with Moq for following HtmlHelper method?
public static HtmlTagBase GenerateTag<T>(this HtmlHelper htmlHelper
, object elementData
, object attributes)
where T : HtmlTagBase
{
return (T)Activator.CreateInstance(typeof(T)
, htmlHelper.ViewContext
, elementData
, attributes);
}
which you would use as follows (please note the using
statement - this is causing me confusion):
<%--Model is a type of ShareClass--%>
<% using (Html.GenerateTag<DivTag>(Model)) { %>
My Div
<% } %>
using this method, if you specify T
as type DivTag
, where ShareClass is defined as
public class ShareClass
{
public string Name { get; set; }
public string Type { get; set; }
public IEnumerable<Fund> Funds { get; set; }
public ShareClass(string name, string shareClassType)
{
this.Name = name;
this.Type = shareClassType;
}
}
the following html will be rendered:
<div class="ShareClass" shareclass-type="ShareClass_A" shareclass-name="MyShareClass">My Div</div>
© Stack Overflow or respective owner